Non-Patent Document 1 discloses an example of a load distribution system that distributes load on web servers. Configuration modes of load distribution systems can roughly be classified into three modes. In two modes, a single IP (address) is used, and in the other mode, multiple IPs (addresses) are used.
The first mode using a single IP is a system in which a representative node is set (hereinafter, referred to as a representative-node-type system), configuration examples of which are illustrated in FIGS. 21 and 22. The representative-node-type system includes a Web Switch including a load distribution means and a server group handling services and providing results. FIG. 21 illustrates a basic system referred to as a 2-way architecture. When requested by a client for provision of a service, the Web Switch including the load distribution means examines load or the like on each of the servers and determines a service provider server. The Web Switch replaces address information with an internal IP or an internal virtual IP (virtual IP will be hereinafter referred to as VIP) and encapsulates information to be transferred, so that after a session is newly established with a server, the server can process the information. Namely, the Web Switch executes conversion so that the load distribution destination server can understand requests. The load distribution destination server sends results to the Web Switch including the load distribution means. Before forwarding the results to the client, the Web Switch including the load distribution means uses its own IP to replace a source IP therewith or re-encapsulates the results. In this way, the Web Switch can respond to the client as if the Web Switch generated the results. A method of converting addresses is referred to as a NAT (Network Address Translation) technique, and a method of covering requests or results by using a different communication method is referred to as an encapsulation technique. In this way, the client can receive a correct response.
In contrast to FIG. 21, FIG. 22 illustrates a 1-way architecture in which the Web Switch including the load distribution means does not re-convert the results. A difference from the 2-way architecture resides in that a route is prepared in which the results can be sent to the client without flowing through the Web Switch including the load distribution means. In addition, for example, each of the servers has a function of receiving a packet whose destination address is the Web Switch including the load distribution means and a function of changing a source address to an IP of the Web Switch including the load distribution means when responding and sending the packet. In this way, it is possible to realize a forwarding system referred to as DSR (Direct Server Return), which can pretend as if the Web Switch responds. Thus, since the results can directly be sent to the client, in terms of transmission of the results, workload caused on the Web Switch including the load distribution means can be reduced.
In these representative-node-type systems, since all the packets such as requests are aggregated to a representative node, load can be distributed by using various information, counted as an advantage. However, since all the packets are aggregated, the representative node easily results in a performance bottleneck, counted as a disadvantage. In addition, since only superficial IP conversion is executed in the NAT system, the representative-node-type systems cannot execute processing if the IP is embedded in a protocol deep part, counted as a disadvantage. In addition, in the DSR system, as a mechanism enabling each server to handle the IP/VIP of the Web Switch including the load distribution means, each server, not the Web Switch itself, needs to be configured to have NAT-related functions. Thus, the load amount of each server is increased, and work such as NAT-related settings needs to be implemented in all the servers, counted as disadvantages.
Another mode using a single IP is a system in which a single IP is set in the individual servers and an appropriate server makes a response (hereinafter referred to as a distribution-type system). As illustrated in a configuration example in FIG. 23, the distribution-type system includes a server group that includes a load distribution means and that is connected to a network capable of handling the same IPs. As the load distribution means, the server group may include a dedicated protocol so that a request can be forwarded or a process can be taken over. As another example, a process selection method may be determined in advance based on a client IP or the like, so that servers only respond to processes corresponding thereto. In the distribution-type system, for example, since a single IP can be set, unlike the representative-node-type systems, load aggregation to a single apparatus can be avoided, counted as an advantage. However, load is increased by a dedicated protocol process or a response selection process. In addition, since all the servers need to receive a packet at least once, multicast/broadcast process load on routers is increased or packet load in the network because of the above load is increased. As a result, a bottleneck is caused in the network itself, counted as a disadvantage.
In contrast to the above two systems, a mode using multiple IPs is a system in which DNS balancing is executed. FIG. 24 illustrates a configuration example of this system, in which a different global IP is prepared for each server, and the load distribution means selects a responding server at the time of a DNS response. In this way, since a single node is present only at the time of a DNS query, a load distribution system in which load on a single node is decreased can be provided, counted as an advantage. However, many global IPs are required, and because of the DNS cache of a client or a relay server, load distribution assumed by the DNS server side cannot be executed, counted as disadvantages. Further, while there is a system in which global IPs are converted into VIPs to execute load balancing, more global IPs are required and complex processes for flexibly taking over virtual IPs are required. Thus, the system does not provide a fundamental solution.
Since each of the existing load distribution systems has advantages and disadvantages, an appropriate system needs to be selected in view of where and how calculators are used. Therefore, users have had to use such existing load distribution systems in a hybrid manner to supplement the disadvantages. Namely, there has been no system where a single IP address is used, scalability is ensured, and a single node with aggregated load is not present or a single node with aggregated but smallest possible load is present.
Aside from the above systems using the single IP and multiple IPs, Non-Patent Document 2 discusses a system referred to as “Plug-n-Serve” that realizes smart load distribution to shorten the response time between a server and a client. FIG. 25 illustrates a conceptual diagram of Plug-n-Serve. The load distribution system Plug-n-Serve in FIG. 25 uses a concept referred to as OpenFlow, in which switches can be controlled from the outside. Based on OpenFlow, an external controller can set a forwarding rule and the like in each of the switches at an arbitrary timing, and the switches forward packets in accordance with the forwarding rule. In addition, in case no such forwarding rule corresponding to the packet exists, each of the switches has a function of explicitly querying the external controller about the forwarding rule. Plug-n-Serve is established on OpenFlow-compliant OpenFlow switches and includes an OpenFlow controller including Net Manager monitoring the network state, Host Manager monitoring the server state, and Flow Manager determining a network flow route in accordance with a load distribution algorithm.
Plug-n-Serve having such configuration operates as follows. The same IP alias is set in all servers. When at least one OpenFlow switch detects a new request sent from a client to a server IP, the OpenFlow switch requests the OpenFlow controller to set a network flow path. Flow Manager acquires the network state from Net Manager and the server state from Host Manager, determines a service provider server and a path to the server in accordance with a load distribution algorithm, and sets the server and the path in OpenFlow switches. Since a network flow path is set in this way, the traffic control to a certain server is executed during provision of a service. In addition, by monitoring switches at periodic intervals, Net Manager can monitor the network topology, the network utilization state, the link state, and the like and can notify the OpenFlow controller of these states. In this way, the load distribution means executes a load distribution destination determination process only at the time of a service request. Only the switches in which a path is set and the server processing a service execute the subsequent processes to respond to the client. Thus, since load aggregation to a single apparatus is avoided and communication on an optimum route is executed, the response time is optimized. Furthermore, since a single IP is used, depletion of IP addresses or the like can be prevented, counted as an advantage.    Non-Patent Document 1: VALERIA CARDELLINI and EMILIANO CASALICCHIO, “The State of the Art in Locally Distributed Web-Server Systems,” ACM Computing Surveys, Vol. 34, No. 2, June, 2002, pp. 263-311    Non-Patent Document 2: Nikhil Handigol, et al., “Plug-n-Serve: Load-Balancing Web Traffic using OpenFlow”, SIGCOMM 2009 DEMOS, [online], searched on Dec. 10, 2009, Internet <URL:http://conferences.sigcomm.org/sigcomm/2009/demos/sigcomm-pd-2009-final26.pdf>